package com.bawei.module_mine.utils

import android.content.Context
import android.graphics.Bitmap
import android.graphics.BitmapFactory
import java.io.File
import java.io.FileOutputStream

object AvatarUtils {
    /** 获取当前用户头像文件路径 */
    fun getAvatarFile(context: Context, userId: String): File {
        return File(context.filesDir, "avatar_${userId}.jpg")
    }

    /** 保存头像图片到本地（覆盖） */
    fun saveAvatar(context: Context, userId: String, bitmap: Bitmap): Boolean {
        return try {
            val file = getAvatarFile(context, userId)
            val fos = FileOutputStream(file)
            bitmap.compress(Bitmap.CompressFormat.JPEG, 90, fos)
            fos.flush()
            fos.close()
            true
        } catch (e: Exception) {
            e.printStackTrace()
            false
        }
    }

    /** 加载本地头像图片（返回Bitmap，找不到返回null） */
    fun loadAvatar(context: Context, userId: String): Bitmap? {
        val file = getAvatarFile(context, userId)
        return if (file.exists()) BitmapFactory.decodeFile(file.absolutePath) else null
    }

    /** 获取头像图片路径（用于Glide加载） */
    fun getAvatarPath(context: Context, userId: String): String? {
        val file = getAvatarFile(context, userId)
        return if (file.exists()) file.absolutePath else null
    }

    /** 删除当前用户头像 */
    fun deleteAvatar(context: Context, userId: String): Boolean {
        val file = getAvatarFile(context, userId)
        return file.exists() && file.delete()
    }
} 